package com.openlogic.common.logic.utils;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @ClassName: StackExceptionUtils
 * @Description: 异常堆栈信息输出工具类
 * @author weiyongpeng
 * @date 2024年9月24日 上午11:16:17
 */
public class StackExceptionUtils {

	private static final Logger logger = LoggerFactory.getLogger(StackExceptionUtils.class);

	/**
	 * 描述：获取异常类型
	 * @Title: getExceptionType
	 * @param e
	 * @return
	 * @author weiyongpeng
	 * @date 2024年9月24日 下午1:49:33
	 */
	public static Throwable getExceptionType(Throwable e) {
		return e;
	}

	/**
	* 描述：获取异常堆栈信息
	* @Title: getStackTrace
	* @param e
	* @return
	* @author weiyongpeng
	* @date  2024年9月24日 下午1:49:55
	 */
	public static String getStackTrace(Throwable e) {
		try (StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw)) {
			e.printStackTrace(pw);
			return sw.toString();
		} catch (IOException e1) {
			logger.error("解析异常:{}", e1);
		}
		return "";
	}
}
